The system and method concerns print data transferred, stored and retrieved between a plurality of devices.
The system and method in particular concerns high-capacity printing systems in which print data and resources are combined into what are known as print jobs and are transferred from a data source to a print production system. Such systems, which comprise computers, control units and print devices, are, for example, specified in the publication “Das Druckerbuch”, by Dr. Gerd Goldmann (publisher), Océ Printing Systems GmbH, 6th edition (May 2001), ISBN 3-00-001019-x. The server system Océ PRISMApro is specified in chapter 14. This flexible print data server system is, for example, suited to transfer print data from data sources such as a source computer—the print data in a specific print data language such as AFP (Advanced Function Presentation), PCL (Printer Command Language), PostScript, SPDS (Siemens Print Data Stream), or the language LCDS developed by the company Xerox Corporation—to a print production system. FIG. 1 shows such a print production system 1, in which print data are transferred via a first network 9 from a host computer 9 to a master print server 2, which transfers the entire print data respectively per job to a slave print server 3, 4, 5. The data are then transferred from the slave print server to a first print device 10 for printing. The print jobs stored on the second slave print server 4 are transferred to the print system (which is comprised of two printers 11a, 11b), and the print jobs stored in the print server 5 are transferred to the print device 12 for printing. Up to two printers (twin system) can thus be connected to such a print server 2, 3, 4 or 5. To increase the print capacity, a plurality of printers are also used in parallel operation. This requires a clearly higher administration and control expenditure, and until now has been realized by means of two concepts:
According to a first concept, what is known as the shared spool concept, a printer driver runs on its own computer, whereby, however, all printer drivers access a common storage region (shared spool) via a network segment dedicated to this. Since all printer drivers access this common storage region, all jobs can be printed out on all printers from the spool region or, respectively, all jobs can be arbitrarily switched back and forth between the printers without moving the print data. However, limitations exist in this concept in the possible total data throughput, since the data must respectively be transferred from the spool region via the common network to the respective print device, and delays can occur upon the parallel accesses to the spool region due to the limited bandwidth.
A second concept to increase the print capacity provides to send print jobs to a central computer that analyzes the jobs and distributes them (with the aid of what are known as workflow managers) to different servers which prepare the data (for example, raster the data) according to specification or directly supply the data to a printer, and thus ensure the printing of this data with high capacity. This concept proves itself in the processing of small to medium jobs of heterogeneous data streams with different file types. However, it is less suitable for processing of large homogenous print jobs that, for example, comprise the same form 1000 times with respectively different form data. A problem in such large jobs is that the print event is first started when the transfer is completed. This leads to a completely new transmission from a first print server to a second print server necessary when the printout is disturbed on the first print server, for example given failure of the connected print device. Via the transfer of the data from the first to the second print server, long wait times are created that can reduce the efficiency of a print production system to an unacceptable degree.
Both of the concepts cited above are specified in the publication cited above, “Das Druckerbuch”, in chapter 14 under Nr. 3, “Scaleable print capacity of the Océ PRISMApro server”.
Methods and systems to store and retrieve print data in which a plurality of storage media are provided are specified in JP-A-11175292, in DE-A1-10107377 -4013286.
A further aspect of the system and method concerns a device system that is controlled with a JAVA-based interface program module. This aspect furthermore concerns a JAVA system that is suitable for administration and processing of files that are stored on a network on an arbitrary storage medium such as, for example, on a computer, a disc drive, a tape storage, a CD-ROM, or another storage medium.
JAVA is a platform-independent object-oriented programming language with which it can be ensured that programs that are written in JAVA can be executed on any computers or operating systems, insofar as a corresponding JAVA system is respectively installed. The fundamental structures of JAVA with which the platform-independence is achieved are specified in the U.S. Pat. No. 5,668,999.
The reading, writing, deletion, renaming and copying of files, as well as the procuring of specific information from files, are implemented in JAVA only for local files, i.e. for files that are physically stored on the same computer on which the JAVA system is installed.
Files whose storage location can be arbitrary in a network, thus local and non-local files whose administration occurs in a computer-spanning plane, are subsequently called logical files. Logical files are thus files in a computer network that cannot be accessed via specific JAVA structures, in particular for execution of administration operations dependent on the system. Counted among these are, for example, remote files, meaning files that are stored on another computer or in a device archive. However, such files can, for example, be identified with regard to their names and their storage locations, i.e. the path names in a network. It is thereby to be desired that such files can be accessed not only for reading, but also that they can be administered in that, for example, file attributes are modified or the storage location (path) is changed.
A basis of JAVA programming is what is known as the derivation of classes. Expressed in brief, what is understood by this is the generation of a new class from an old class, whereby the functions and methods of the old class are adopted in the new class and at least one function that was not implemented in the old class is additionally implemented in the new class.
In other object-oriented programming languages such as, for example, C++, as well as in the object-oriented description language UML (Unified Modeling Language), the term “inheritance” is also used instead of the term “derivation”. UML is described in “UML—Unified Modeling Language, Objektorientierte Programmierung in der Praxis”, R. Burkhardt, Addison-wesley, Mass. (1999), ISBN 3-8273-1407-0.
A program module to administer programs is known from the generally known operating system Microsoft Windows® NT. Furthermore, the service program “Active Directory”, with which objects of all types can be administered in a computer network, is comprised in this operating system. Details about this Active Directory program module are, for example, described in the publications “Inside Windows NT®”, David A. Solomon, Microsoft Press, Redmond, Wash., USA (1998), ISBN 1-57231-677-2 on pages 452 to 455, and in “Microsoft Windows® 2000 Server Deployment Planning Guide”, Microsoft Press, Redmond, Wash., USA (2000), ISBN 1-57231-805-8 on pages 255-271, 289-294 and 354-359. Furthermore, various items of information have been published on the Microsoft Developer Network (MSDN) Library (under the Internet address: msdn.microsoft.com) regarding Active Directory, for example “Microsoft Windows 2000 Active Directory Technical Summary”, “Active Directory Services Interface in the Microsoft Exchange 5.5. Environment”, Microsoft Corporation (1997), and “NT Directory Services”. Via the same address, information is also to be obtained about what is known as the Microsoft .NET framework, via which the programmability and availability of computer programs can be improved in a heterogeneous network.
The system and method also concerns processing of a print data stream that is prepared for output on a print device. Such a preparation typically occurs in computers that process (adapted to a printer) print files or print data from user programs. The print data are thereby, for example, converted into an output stream of a specific print data language such as AFP® (Advanced Function Presentation), PCL or PostScript. The print data language AFP is, for example, described in the publication Nr. 5-544-3884-02 by the company International Business Machines Corp. (IBM) with the title “AFP Programming 35 Guide and Line Data Reference”. In the generation of print jobs with the print data format AFP, in order to generate a document it is frequently provided to link predetermined data, what are known as resource data, with variable data just before the printing. The resource data can be stored at various locations or computers that are, under the circumstances, controlled under different operating systems or platforms.
In large-scale data processing centers, the print data are typically merged (spooling event) in a host computer (main frame), and from this print jobs are generated that are adapted for output on high-capacity printing systems such that the high-capacity printing systems can be temporally, optimally loaded in the production operation. They can thereby largely be used in continuous operation. The print data are thereby ever more frequently decentrally processed: the data are stored at various locations or in various systems and first recombined for printout.
Such high-capacity printing devices, with printing speeds of approximately 40 DIN A 4 pages per minute up to over 1000 DIN A 4 pages per minute, and the associated working methods are, for example, specified in the publication “Das Druckerbuch”, published by Dr. Gerd Goldmann (Océ Printing Systems GmbH), edition 4C, October 1999, ISBN 3-000-00 1019-X. Specified in chapter 12 (pages 12-1 through 12-18) of this publication is the server system known under the name PRISMA PRO®, which serves for the preparation of print data streams in production print environments.
In the Quelle Forte™ for Java™ Community Edition, Module Creation and Integration [online], Sun Microsystems, 31 Aug. 2001, http://www.sun.com/forte/ffj/resources/articles/handbook.pdf, in chapter 4 a file system is specified that is suitable for administration of files with computer programs that are programmed in Java.
A print control system is known from U.S. Pat. No. 1-6,188,487 in which print jobs can be distributed on various print servers in a network of print servers.
From WO-A1-99/38068, a print system is known in which control data with which the allocation of the print jobs from a print server to the print devices connected to the Print server occurs is associated with print jobs.